// 加载常量参数
import Setting from "../utils/setting";
import Cookies from 'js-cookie';

// 封装请求-json传参
const myHttps = (url, data = {}, method, header = {}) => {
	return new Promise((resolve, reject) => {
		// 打开【加载】
		uni.showLoading();
		uni.request({
			url: url,
			method: method || 'POST',
			header: {
				'appType': Setting.constant.APPTYPE,  								// 1, "生产公司"; 2, "运输公司"; 3, "司机"; 8, "推广"; 9, "web"
				// 'Cookie': 'JSESSIONID=9afa489a-4821-4c66-b173-b831a7085276',        // 登录用户信息 JSESSIONID=163c6e00-e74b-48c4-8214-31870e399bab
				/* 'token': uni.getStorageSync(Setting.constant.WYD_TOKEN) || '',	// 登录用户的token
				'brand': uni.getStorageSync(Setting.constant.D_BRAND) || '',		// 品牌
				'model': uni.getStorageSync(Setting.constant.D_MODEL) || '',		// 型号
				'deviceId': uni.getStorageSync(Setting.constant.D_DEVICEID) || '',	// 设备id
				'platform': uni.getStorageSync(Setting.constant.D_PALTFORM) || '',	// 平台（web, android, ios）
				'system': uni.getStorageSync(Setting.constant.D_SYSYTEM) || '',		// 系统 */
				'version': Setting.constant.VERSION_NAME,							// APP版本号
				'Content-type': 'application/json;charset=UTF-8'
			} || header,
			data: data || {},
			withCredentials: true,
			success: (res) => {
				//console.log("最终信息1230：", res.statusCode, res);
				//console.log("最终信息12301：", res.header);
				let htmlTagPattern = /<([A-Za-z]+)>/;  // 检测是否html
				// return htmlTagPattern.test(str);
				// 判断是否，重定向到登录页面
				// console.log("是否html：",htmlTagPattern.test(res.data));
				if(res.statusCode === 200 && htmlTagPattern.test(res.data)) {
					// 跳转到登录页面
					uni.navigateTo({  
						url: '/pages/public/login'
					})
				}
				// 请求成功，res.header是响应头对象
				// console.log('响应头数据111:', res);
				// 如果token存在，重新保存在本地
				if(res.header.token) {
					uni.setStorage({
						key: Setting.constant.WYD_TOKEN,
						data: res.header.token
					});
				}
				// 关闭【加载】
				uni.hideLoading();
				if(res.data && res.data.code == 4010) {
					// 清理所有缓存
					uni.clearStorage();
					uni.showToast({
						title: 'Token过期了~',
						icon: 'none'
					});
					// 跳转到登录页面
					uni.navigateTo({  
						url: '/pages/public/login'
					})
				}
				// APP版本不符合要求，请更新最新APP
				if(res.data && res.data.code == 11101) {
					uni.showToast({
						title: 'APP版本不符合要求，请更新最新APP~',
						icon: 'none'
					});
				}
				resolve(res.data);
				resolve(res.data);
			},
			fail: (err) => {
				uni.showToast({
					title: '请求接口API失败！',
					icon: 'none'
				});
				reject(err);
			}
		})
	})
}

// 封装请求--formData传参
const myFormDataHttps = (urls, formData, method) => {
	return new Promise((resolve, reject) => {
		// 打开【加载】
		uni.showLoading();
		uni.request({
			url: urls,
			method: method || 'POST',
			data: formData,
			header: {
				'appType': Setting.constant.APPTYPE,  								// 1, "生产公司"; 2, "运输公司"; 3, "司机"; 8, "推广"; 9, "web"
				// 'Cookie': 'JSESSIONID=9afa489a-4821-4c66-b173-b831a7085276',        // 登录用户信息 JSESSIONID=163c6e00-e74b-48c4-8214-31870e399bab
				/* 'token': uni.getStorageSync(Setting.constant.WYD_TOKEN) || '',	// 登录用户的token
				'brand': uni.getStorageSync(Setting.constant.D_BRAND) || '',		// 品牌
				'model': uni.getStorageSync(Setting.constant.D_MODEL) || '',		// 型号
				'deviceId': uni.getStorageSync(Setting.constant.D_DEVICEID) || '',	// 设备id
				'platform': uni.getStorageSync(Setting.constant.D_PALTFORM) || '',	// 平台（web, android, ios）
				'system': uni.getStorageSync(Setting.constant.D_SYSYTEM) || '',		// 系统 */
				'version': Setting.constant.VERSION_NAME,							// APP版本号
			    'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',   // 根据后台接口要求设置Content-Type
			},
			withCredentials: true,
			success: (res) => {
				//console.log("最终信息4567：", res.statusCode, res);
				//console.log("最终信息45671：", res.header);
				let htmlTagPattern = /<([A-Za-z]+)>/;  // 检测是否html
				// return htmlTagPattern.test(str);
				// 判断是否，重定向到登录页面
				if(res.statusCode === 200 && htmlTagPattern.test(res.data)) {
					// 跳转到登录页面
					uni.navigateTo({  
						url: '/pages/public/login'
					})
				}
				// 请求成功，res.header是响应头对象
				// console.log('响应头数据:', res);
				// 如果token存在，重新保存在本地
				if(res.header.token) {
					uni.setStorage({
						key: Setting.constant.WYD_TOKEN,
						data: res.header.token
					});
				}
				// 关闭【加载】
				uni.hideLoading();
				if(res.data && res.data.code == 4010) {
					// 清理所有缓存
					uni.clearStorage();
					uni.showToast({
						title: 'Token过期了~',
						icon: 'none'
					});
					// 跳转到登录页面
					uni.navigateTo({  
						url: '/pages/public/login'
					})
				}
				// APP版本不符合要求，请更新最新APP
				if(res.data && res.data.code == 11101) {
					uni.showToast({
						title: 'APP版本不符合要求，请更新最新APP~',
						icon: 'none'
					});
				}
				resolve(res.data);
			},
			fail: (err) => {
				uni.showToast({
					title: '请求接口API失败！',
					icon: 'none'
				});
				reject(err);
			}
		})
	})
}

// 对外导出
export default {
	myHttps,
	myFormDataHttps
}